This notebook demonstrates how to use the spatialLIBD package with publicly available DLPFC Visium data accessed via ExperimentHub. It covers loading preprocessed data, exploring object structure, visualizing layers and gene expression, and accessing precomputed modeling results for layer-enriched genes.
Load the required packages.
library(spatialLIBD) # main package, for spatial transcriptomics analysis & visualization
## Loading required package: SpatialExperiment
## Loading required package: SingleCellExperiment
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
##
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
##
## colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
## colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
## colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
## colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
## colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
## colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
## colWeightedMeans, colWeightedMedians, colWeightedSds,
## colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
## rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
## rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
## rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
## rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
## rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
## rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
## rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: BiocGenerics
## Loading required package: generics
##
## Attaching package: 'generics'
## The following objects are masked from 'package:base':
##
## as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
## setequal, union
##
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
##
## IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
##
## anyDuplicated, aperm, append, as.data.frame, basename, cbind,
## colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
## get, grep, grepl, is.unsorted, lapply, Map, mapply, match, mget,
## order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
## rbind, Reduce, rownames, sapply, saveRDS, table, tapply, unique,
## unsplit, which.max, which.min
## Loading required package: S4Vectors
##
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
##
## findMatches
## The following objects are masked from 'package:base':
##
## expand.grid, I, unname
## Loading required package: IRanges
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
##
## Vignettes contain introductory material; view with
## 'browseVignettes()'. To cite Bioconductor, see
## 'citation("Biobase")', and for packages 'citation("pkgname")'.
##
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
##
## rowMedians
## The following objects are masked from 'package:matrixStats':
##
## anyMissing, rowMedians
library(SpatialExperiment) # data container, object structure
library(scater) # basic QC, normalization, dimensionality reduction
## Loading required package: scuttle
## Loading required package: ggplot2
# lets fetch one of the public datasets
# uses a cached copy after first download
spe <- spatialLIBD::fetch_data(type = "spe")
## 2025-11-23 17:10:13.018228 loading file /Users/chayce/Library/Caches/org.R-project.R/R/BiocFileCache/4c83fa984c0_Human_DLPFC_Visium_processedData_sce_scran_spatialLIBD.Rdata%3Fdl%3D1
# this is the preprocessed DLPFC visium dataset
# stored as a spatialexperiment object
# commonly used for practicing, testing, benchmarking new computational methods
spe
## class: SpatialExperiment
## dim: 33538 47681
## metadata(0):
## assays(2): counts logcounts
## rownames(33538): ENSG00000243485 ENSG00000237613 ... ENSG00000277475
## ENSG00000268674
## rowData names(9): source type ... gene_search is_top_hvg
## colnames(47681): AAACAACGAATAGTTC-1 AAACAAGTATCTCCCA-1 ...
## TTGTTTCCATACAACT-1 TTGTTTGTGTAAATTC-1
## colData names(69): sample_id Cluster ... array_row array_col
## reducedDimNames(6): PCA TSNE_perplexity50 ... TSNE_perplexity80
## UMAP_neighbors15
## mainExpName: NULL
## altExpNames(0):
## spatialCoords names(2) : pxl_col_in_fullres pxl_row_in_fullres
## imgData names(4): sample_id image_id data scaleFactor
# now lets fetch a reference dataset
# i believe this one was manually annotated for layers
# this is a commonly used companion to the spe dataset above
# used as a reference for layer marker discovery and benchmarking new methods
sce_layer <- spatialLIBD::fetch_data(type = "sce_layer")
## 2025-11-23 17:10:19.224866 loading file /Users/chayce/Library/Caches/org.R-project.R/R/BiocFileCache/67179f951fd_Human_DLPFC_Visium_processedData_sce_scran_sce_layer_spatialLIBD.Rdata%3Fdl%3D1
sce_layer
## class: SingleCellExperiment
## dim: 22331 76
## metadata(0):
## assays(2): counts logcounts
## rownames(22331): ENSG00000243485 ENSG00000238009 ... ENSG00000278384
## ENSG00000271254
## rowData names(10): source type ... is_top_hvg is_top_hvg_sce_layer
## colnames(76): 151507_Layer1 151507_Layer2 ... 151676_Layer6 151676_WM
## colData names(13): sample_name layer_guess ...
## layer_guess_reordered_short spatialLIBD
## reducedDimNames(6): PCA TSNE_perplexity5 ... UMAP_neighbors15 PCAsub
## mainExpName: NULL
## altExpNames(0):
# lets take a look at the assays stored in the spe object
assayNames(spe) # counts & logcounts
## [1] "counts" "logcounts"
# lets take a look at the columns in the spe object
colnames(colData(spe)) # sample ids, qc metrics, precomputed annotations, markers
## [1] "sample_id" "Cluster"
## [3] "sum_umi" "sum_gene"
## [5] "subject" "position"
## [7] "replicate" "subject_position"
## [9] "discard" "key"
## [11] "cell_count" "SNN_k50_k4"
## [13] "SNN_k50_k5" "SNN_k50_k6"
## [15] "SNN_k50_k7" "SNN_k50_k8"
## [17] "SNN_k50_k9" "SNN_k50_k10"
## [19] "SNN_k50_k11" "SNN_k50_k12"
## [21] "SNN_k50_k13" "SNN_k50_k14"
## [23] "SNN_k50_k15" "SNN_k50_k16"
## [25] "SNN_k50_k17" "SNN_k50_k18"
## [27] "SNN_k50_k19" "SNN_k50_k20"
## [29] "SNN_k50_k21" "SNN_k50_k22"
## [31] "SNN_k50_k23" "SNN_k50_k24"
## [33] "SNN_k50_k25" "SNN_k50_k26"
## [35] "SNN_k50_k27" "SNN_k50_k28"
## [37] "GraphBased" "Maynard"
## [39] "Martinowich" "layer_guess"
## [41] "layer_guess_reordered" "layer_guess_reordered_short"
## [43] "expr_chrM" "expr_chrM_ratio"
## [45] "SpatialDE_PCA" "SpatialDE_pool_PCA"
## [47] "HVG_PCA" "pseudobulk_PCA"
## [49] "markers_PCA" "SpatialDE_UMAP"
## [51] "SpatialDE_pool_UMAP" "HVG_UMAP"
## [53] "pseudobulk_UMAP" "markers_UMAP"
## [55] "SpatialDE_PCA_spatial" "SpatialDE_pool_PCA_spatial"
## [57] "HVG_PCA_spatial" "pseudobulk_PCA_spatial"
## [59] "markers_PCA_spatial" "SpatialDE_UMAP_spatial"
## [61] "SpatialDE_pool_UMAP_spatial" "HVG_UMAP_spatial"
## [63] "pseudobulk_UMAP_spatial" "markers_UMAP_spatial"
## [65] "spatialLIBD" "ManualAnnotation"
## [67] "in_tissue" "array_row"
## [69] "array_col"
# vis_clus() creates a spatial cluster plot
# tissue image + all the spots + colored by clustervar
spatialLIBD::vis_clus(
spe = spe, # spatialexperiment object, data
clustervar = "layer_guess_reordered", # which column in spe for the cluster/layer
sampleid = "151673", # specific sample / tissue section
colors = libd_layer_colors, # color palette
title = " spe layers" # title
)
# optionally save the figure:
# ggsave("figures/qc_spe_layers.png", width = 6, height = 4)
# vis_gene() is used to plot expression for a specific gene
spatialLIBD::vis_gene(
spe = spe, # spatialexperiment object
sampleid = "151673", # specific sample / tissue section
geneid = "ENSG00000132639", # gene SNAP25
viridis = FALSE # color palette
)
# optionally save the figure:
# ggsave("figures/spatial_snap25.png", width = 6, height = 4)
# vis_gene() is used to plot expression for a specific gene
spatialLIBD::vis_gene(
spe = spe, # spatialexperiment object / data
sampleid = "151673", # specific sample / tissue section
geneid = "ENSG00000168314", # gene MOBP
viridis = FALSE # color palette
)
# optionally save the figure:
# ggsave("figures/spatial_mobp.png", width = 6, height = 4)
# vis_gene() is used to plot expression for a specific gene
spatialLIBD::vis_gene(
spe = spe, # spatialexperiment object / data
sampleid = "151673", # specific sample / tissue section
geneid = "ENSG00000183036", # gene PCP4
viridis = FALSE # color palette
)
# optionally save the figure:
# ggsave("figures/spatial_pcp4.png", width = 6, height = 4)
# modeling_results fetches a precomputed modeling results object
# statistical model ouputs used in the Maynard et al. (2021) DLPFC spatial transcriptomics analysis paper
# modeling_results is the results of the statistical layer-level modeling used in the original DLPFC analysis.
# this allows us to benchmark our own methods and compare it to the precomputed results
# (likely outdated? need to see if this is kept up-to-date)
modeling_results <- spatialLIBD::fetch_data("modeling_results")
## 2025-11-23 17:10:21.527666 loading file /Users/chayce/Library/Caches/org.R-project.R/R/BiocFileCache/6715f75f79a_Human_DLPFC_Visium_modeling_results.Rdata%3Fdl%3D1
# head(modeling_results)
# sig_genes_extract_all() extracts significant layer enriched genes, based on the
# precomputed statistical models and data
# finds the top genes that differentiate the layers
system.time( # this just measures the time it takes to run
sig_genes <-
spatialLIBD::sig_genes_extract_all(
n = nrow(sce_layer), # matches the number of layers that were in our reference
modeling_results = modeling_results,
sce_layer = sce_layer
)
)
## user system elapsed
## 2.108 0.124 2.234
head(sig_genes)
## DataFrame with 6 rows and 12 columns
## top model_type test gene stat pval
## <integer> <character> <character> <character> <numeric> <numeric>
## 1 1 enrichment WM NDRG1 16.3053 1.25896e-26
## 2 2 enrichment WM PTP4A2 16.1469 2.25133e-26
## 3 3 enrichment WM AQP1 15.9927 3.97849e-26
## 4 4 enrichment WM PAQR6 15.1971 7.86258e-25
## 5 5 enrichment WM ANP32B 14.9798 1.80183e-24
## 6 6 enrichment WM JAM3 14.7413 4.50756e-24
## fdr gene_index ensembl in_rows in_rows_top20
## <numeric> <integer> <character> <IntegerList> <IntegerList>
## 1 2.51372e-22 10404 ENSG00000104419 1,40215,65023,... 1,156337,223320,...
## 2 2.51372e-22 487 ENSG00000184007 2,40531,64532,... 2,223323,245661,...
## 3 2.96145e-22 8201 ENSG00000240583 3,32241,65062,... 3,223314,245643,...
## 4 4.38948e-21 1501 ENSG00000160781 4,34318,65863,... 4,245654,267982
## 5 8.04735e-21 10962 ENSG00000136938 5,28964,63931,... 5,223329,267975
## 6 1.67295e-20 12600 ENSG00000166086 6,40868,65917,... 6,156334,223324,...
## results
## <CharacterList>
## 1 WM_top1,WM-Layer1_top20,WM-Layer4_top10,...
## 2 WM_top2,WM-Layer4_top13,WM-Layer5_top20,...
## 3 WM_top3,WM-Layer4_top4,WM-Layer5_top2,...
## 4 WM_top4,WM-Layer5_top13,WM-Layer6_top10
## 5 WM_top5,WM-Layer4_top19,WM-Layer6_top3
## 6 WM_top6,WM-Layer1_top17,WM-Layer4_top14,...
## Create a boxplot of the first gene in `sig_genes`.
# set.seed(20200206)
# lets create a boxplot for a specific gene (MOBP) to compare it across layers
spatialLIBD::layer_boxplot(sig_genes = sig_genes[sig_genes$gene == "MOBP",], sce_layer = sce_layer)
# optionally save the figure:
# ggsave("figures/boxplot_mobp.png", width = 6, height = 4)
# spatialLIBD::run_app(spe = spe, sce_layer = sce_layer, launch.browser = TRUE)
# session info
sessioninfo::session_info()
## ─ Session info ───────────────────────────────────────────────────────────────
## setting value
## version R version 4.5.1 (2025-06-13)
## os macOS Tahoe 26.1
## system aarch64, darwin24.4.0
## ui unknown
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz America/New_York
## date 2025-11-23
## pandoc 3.6.3 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/aarch64/ (via rmarkdown)
## quarto 1.7.32 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/quarto
##
## ─ Packages ───────────────────────────────────────────────────────────────────
## package * version date (UTC) lib source
## abind 1.4-8 2024-09-12 [1] CRAN (R 4.5.1)
## AnnotationDbi 1.70.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## AnnotationHub 3.16.1 2025-07-23 [1] Bioconductor 3.21 (R 4.5.1)
## attempt 0.3.1 2020-05-03 [1] CRAN (R 4.5.1)
## beachmat 2.24.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## beeswarm 0.4.0 2021-06-01 [1] CRAN (R 4.5.1)
## benchmarkme 1.0.8 2022-06-12 [1] CRAN (R 4.5.1)
## benchmarkmeData 1.0.4 2020-04-23 [1] CRAN (R 4.5.1)
## Biobase * 2.68.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## BiocFileCache 2.16.2 2025-08-27 [1] Bioconductor 3.21 (R 4.5.1)
## BiocGenerics * 0.54.1 2025-10-12 [1] Bioconductor 3.21 (R 4.5.1)
## BiocIO 1.18.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## BiocManager 1.30.26 2025-06-05 [1] CRAN (R 4.5.1)
## BiocNeighbors 2.2.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## BiocParallel 1.42.2 2025-09-14 [1] Bioconductor 3.21 (R 4.5.1)
## BiocSingular 1.24.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## BiocVersion 3.21.1 2024-10-29 [1] Bioconductor 3.21 (R 4.5.1)
## Biostrings 2.76.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## bit 4.6.0 2025-03-06 [1] CRAN (R 4.5.1)
## bit64 4.6.0-1 2025-01-16 [1] CRAN (R 4.5.1)
## bitops 1.0-9 2024-10-03 [1] CRAN (R 4.5.1)
## blob 1.2.4 2023-03-17 [1] CRAN (R 4.5.1)
## bslib 0.9.0 2025-01-30 [1] CRAN (R 4.5.1)
## cachem 1.1.0 2024-05-16 [1] CRAN (R 4.5.1)
## circlize 0.4.16 2024-02-20 [1] CRAN (R 4.5.1)
## cli 3.6.5 2025-04-23 [1] CRAN (R 4.5.1)
## clue 0.3-66 2024-11-13 [1] CRAN (R 4.5.1)
## cluster 2.1.8.1 2025-03-12 [2] CRAN (R 4.5.1)
## codetools 0.2-20 2024-03-31 [2] CRAN (R 4.5.1)
## colorspace 2.1-2 2025-09-22 [1] CRAN (R 4.5.1)
## ComplexHeatmap 2.24.1 2025-06-25 [1] Bioconductor 3.21 (R 4.5.1)
## config 0.3.2 2023-08-30 [1] CRAN (R 4.5.1)
## cowplot 1.2.0 2025-07-07 [1] CRAN (R 4.5.1)
## crayon 1.5.3 2024-06-20 [1] CRAN (R 4.5.1)
## curl 7.0.0 2025-08-19 [1] CRAN (R 4.5.1)
## data.table 1.17.8 2025-07-10 [1] CRAN (R 4.5.1)
## DBI 1.2.3 2024-06-02 [1] CRAN (R 4.5.1)
## dbplyr 2.5.1 2025-09-10 [1] CRAN (R 4.5.1)
## DelayedArray 0.34.1 2025-04-17 [1] Bioconductor 3.21 (R 4.5.1)
## digest 0.6.37 2024-08-19 [1] CRAN (R 4.5.1)
## doParallel 1.0.17 2022-02-07 [1] CRAN (R 4.5.1)
## dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.5.1)
## DT 0.34.0 2025-09-02 [1] CRAN (R 4.5.1)
## edgeR 4.6.3 2025-07-09 [1] Bioconductor 3.21 (R 4.5.1)
## evaluate 1.0.5 2025-08-27 [1] CRAN (R 4.5.1)
## ExperimentHub 2.16.1 2025-07-23 [1] Bioconductor 3.21 (R 4.5.1)
## farver 2.1.2 2024-05-13 [1] CRAN (R 4.5.1)
## fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.5.1)
## filelock 1.0.3 2023-12-11 [1] CRAN (R 4.5.1)
## foreach 1.5.2 2022-02-02 [1] CRAN (R 4.5.1)
## generics * 0.1.4 2025-05-09 [1] CRAN (R 4.5.1)
## GenomeInfoDb * 1.44.3 2025-09-21 [1] Bioconductor 3.21 (R 4.5.1)
## GenomeInfoDbData 1.2.14 2025-10-08 [1] Bioconductor
## GenomicAlignments 1.44.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## GenomicRanges * 1.60.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## GetoptLong 1.0.5 2020-12-15 [1] CRAN (R 4.5.1)
## ggbeeswarm 0.7.2 2023-04-29 [1] CRAN (R 4.5.1)
## ggplot2 * 4.0.0 2025-09-11 [1] CRAN (R 4.5.1)
## ggrepel 0.9.6 2024-09-07 [1] CRAN (R 4.5.1)
## GlobalOptions 0.1.2 2020-06-10 [1] CRAN (R 4.5.1)
## glue 1.8.0 2024-09-30 [1] CRAN (R 4.5.1)
## golem 0.5.1 2024-08-27 [1] CRAN (R 4.5.1)
## gridExtra 2.3 2017-09-09 [1] CRAN (R 4.5.1)
## gtable 0.3.6 2024-10-25 [1] CRAN (R 4.5.1)
## htmltools 0.5.8.1 2024-04-04 [1] CRAN (R 4.5.1)
## htmlwidgets 1.6.4 2023-12-06 [1] CRAN (R 4.5.1)
## httpuv 1.6.16 2025-04-16 [1] CRAN (R 4.5.1)
## httr 1.4.7 2023-08-15 [1] CRAN (R 4.5.1)
## IRanges * 2.42.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## irlba 2.3.5.1 2022-10-03 [1] CRAN (R 4.5.1)
## iterators 1.0.14 2022-02-05 [1] CRAN (R 4.5.1)
## jquerylib 0.1.4 2021-04-26 [1] CRAN (R 4.5.1)
## jsonlite 2.0.0 2025-03-27 [1] CRAN (R 4.5.1)
## KEGGREST 1.48.1 2025-06-22 [1] Bioconductor 3.21 (R 4.5.1)
## knitr 1.50 2025-03-16 [1] CRAN (R 4.5.1)
## labeling 0.4.3 2023-08-29 [1] CRAN (R 4.5.1)
## later 1.4.4 2025-08-27 [1] CRAN (R 4.5.1)
## lattice 0.22-7 2025-04-02 [2] CRAN (R 4.5.1)
## lazyeval 0.2.2 2019-03-15 [1] CRAN (R 4.5.1)
## lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.5.1)
## limma 3.64.3 2025-08-03 [1] Bioconductor 3.21 (R 4.5.1)
## locfit 1.5-9.12 2025-03-05 [1] CRAN (R 4.5.1)
## magick 2.9.0 2025-09-08 [1] CRAN (R 4.5.1)
## magrittr 2.0.4 2025-09-12 [1] CRAN (R 4.5.1)
## Matrix 1.7-4 2025-08-28 [2] CRAN (R 4.5.1)
## MatrixGenerics * 1.20.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## matrixStats * 1.5.0 2025-01-07 [1] CRAN (R 4.5.1)
## memoise 2.0.1 2021-11-26 [1] CRAN (R 4.5.1)
## mime 0.13 2025-03-17 [1] CRAN (R 4.5.1)
## otel 0.2.0 2025-08-29 [1] CRAN (R 4.5.1)
## paletteer 1.6.0 2024-01-21 [1] CRAN (R 4.5.1)
## pillar 1.11.1 2025-09-17 [1] CRAN (R 4.5.1)
## pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.5.1)
## plotly 4.11.0 2025-06-19 [1] CRAN (R 4.5.1)
## png 0.1-8 2022-11-29 [1] CRAN (R 4.5.1)
## promises 1.5.0 2025-11-01 [1] CRAN (R 4.5.1)
## purrr 1.1.0 2025-07-10 [1] CRAN (R 4.5.1)
## R6 2.6.1 2025-02-15 [1] CRAN (R 4.5.1)
## rappdirs 0.3.3 2021-01-31 [1] CRAN (R 4.5.1)
## RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.5.1)
## Rcpp 1.1.0 2025-07-02 [1] CRAN (R 4.5.1)
## RCurl 1.98-1.17 2025-03-22 [1] CRAN (R 4.5.1)
## rematch2 2.1.2 2020-05-01 [1] CRAN (R 4.5.1)
## restfulr 0.0.16 2025-06-27 [1] CRAN (R 4.5.1)
## rjson 0.2.23 2024-09-16 [1] CRAN (R 4.5.1)
## rlang 1.1.6 2025-04-11 [1] CRAN (R 4.5.1)
## rmarkdown 2.30 2025-09-28 [1] CRAN (R 4.5.1)
## Rsamtools 2.24.1 2025-09-07 [1] Bioconductor 3.21 (R 4.5.1)
## RSQLite 2.4.3 2025-08-20 [1] CRAN (R 4.5.1)
## rstudioapi 0.17.1 2024-10-22 [1] CRAN (R 4.5.1)
## rsvd 1.0.5 2021-04-16 [1] CRAN (R 4.5.1)
## rtracklayer 1.68.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## S4Arrays 1.8.1 2025-06-01 [1] Bioconductor 3.21 (R 4.5.1)
## S4Vectors * 0.46.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## S7 0.2.0 2024-11-07 [1] CRAN (R 4.5.1)
## sass 0.4.10 2025-04-11 [1] CRAN (R 4.5.1)
## ScaledMatrix 1.16.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## scales 1.4.0 2025-04-24 [1] CRAN (R 4.5.1)
## scater * 1.36.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## scuttle * 1.18.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## sessioninfo 1.2.3 2025-02-05 [1] CRAN (R 4.5.1)
## shape 1.4.6.1 2024-02-23 [1] CRAN (R 4.5.1)
## shiny 1.11.1 2025-07-03 [1] CRAN (R 4.5.1)
## shinyWidgets 0.9.0 2025-02-21 [1] CRAN (R 4.5.1)
## SingleCellExperiment * 1.30.1 2025-05-07 [1] Bioconductor 3.21 (R 4.5.1)
## SparseArray 1.8.1 2025-07-23 [1] Bioconductor 3.21 (R 4.5.1)
## SpatialExperiment * 1.18.1 2025-05-11 [1] Bioconductor 3.21 (R 4.5.1)
## spatialLIBD * 1.20.1 2025-05-01 [1] Bioconductor 3.21 (R 4.5.1)
## statmod 1.5.1 2025-10-09 [1] CRAN (R 4.5.1)
## stringi 1.8.7 2025-03-27 [1] CRAN (R 4.5.1)
## stringr 1.5.2 2025-09-08 [1] CRAN (R 4.5.1)
## SummarizedExperiment * 1.38.1 2025-04-30 [1] Bioconductor 3.21 (R 4.5.1)
## tibble 3.3.0 2025-06-08 [1] CRAN (R 4.5.1)
## tidyr 1.3.1 2024-01-24 [1] CRAN (R 4.5.1)
## tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.5.1)
## UCSC.utils 1.4.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.5.1)
## vipor 0.4.7 2023-12-18 [1] CRAN (R 4.5.1)
## viridis 0.6.5 2024-01-29 [1] CRAN (R 4.5.1)
## viridisLite 0.4.2 2023-05-02 [1] CRAN (R 4.5.1)
## withr 3.0.2 2024-10-28 [1] CRAN (R 4.5.1)
## xfun 0.54 2025-10-30 [1] CRAN (R 4.5.1)
## XML 3.99-0.19 2025-08-22 [1] CRAN (R 4.5.1)
## xtable 1.8-4 2019-04-21 [1] CRAN (R 4.5.1)
## XVector 0.48.0 2025-04-15 [1] Bioconductor 3.21 (R 4.5.1)
## yaml 2.3.10 2024-07-26 [1] CRAN (R 4.5.1)
##
## [1] /opt/homebrew/lib/R/4.5/site-library
## [2] /opt/homebrew/Cellar/r/4.5.1/lib/R/library
## * ── Packages attached to the search path.
##
## ──────────────────────────────────────────────────────────────────────────────